/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.pro.dao;

import java.util.List;

import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.pro.entity.ProjectTask;

/**
 * 任务管理DAO接口
 * @author fanqinglong
 * @version 2017-04-25
 */
@MyBatisDao
public interface ProjectTaskDao extends CrudDao<ProjectTask> {
	/**
	 * 为工作面板上的任务查询数据，传入当前登录用户id
	 * @param projectTask
	 * @return
	 */
	public List<ProjectTask> findListForPanel(ProjectTask projectTask);
	/**
	 * 校验一个任务组下面是否还有未完成的任务
	 * @param groupId
	 * @return
	 */
	public Integer findByGroupIdAndStatus(String groupId);
	/**
	 * 校验一个项目下面是否还有未完成的任务
	 * @param projectId
	 * @return
	 */
	public Integer findByProjectIdAndStatus(ProjectTask projectTask);
	/**
	 * 校验同一个任务组下面是否有重复的任务名称
	 * @param projectTask
	 * @return
	 */
	public ProjectTask getByName(ProjectTask projectTask);
	/**
	 * 校验同一个任务组下面是否有重复的任务名称，根据项目Id和任务组名称
	 * @param projectTask
	 * @return
	 */
	public ProjectTask getByProjectAndGroup(ProjectTask projectTask);
	/**
	 * 从甘特图修改任务日期
	 * @param projectTask
	 */
	public void updateFromGantt(ProjectTask projectTask);
}